package com.ttscm.srds.datagram;

/**
 * @version:
 * @author:
 * @className:
 * @packageName:
 * @description: Seer机器人数据包
 * @date: 2022/07/18
 */
public final class SeerDataPacket {
    private long headerSync = 0x5A;                // 1Byte 报文同步头, 用于确定报文头部的开始,0x5A
    private long headerVersion = 0x01;             // 1Byte 协议的主版本号, 目前均填 0x01
    private long headerNumber = 0x0000;            // 2Byte 请求及响应的序号（0 ~ 65535）
    private long headerLength = 0x00000000;        // 4Byte 数据区长度, 即 JSON 序列化数据的长度
    private long headerType = 0x03E8;              // 2Byte 标识报文的类型, 即 API 的编号
    private long headerReserved = 0x000000000000;  // 6Byte 0x000000000000
    private String bodyDataArea;                   // JSON序列化的数据内容

    @Override
    public String toString() {
        return "SeerDataPacket2:{" +
                "headerSync=" + headerSync +
                ", headerVersion=" + headerVersion +
                ", headerNumber=" + headerNumber +
                ", headerLength=" + headerLength +
                ", headerType=" + headerType +
                ", headerReserved=" + headerReserved +
                ", bodyDataArea='" + bodyDataArea + '\'' +
                '}';
    }

    public long getHeaderSync() {
        return headerSync;
    }

    public void setHeaderSync(long headerSync) {
        this.headerSync = headerSync;
    }

    public long getHeaderVersion() {
        return headerVersion;
    }

    public void setHeaderVersion(long headerVersion) {
        this.headerVersion = headerVersion;
    }

    public long getHeaderNumber() {
        return headerNumber;
    }

    public void setHeaderNumber(long headerNumber) {
        this.headerNumber = headerNumber;
    }

    public long getHeaderLength() {
        return headerLength;
    }

    public void setHeaderLength(long headerLength) {
        this.headerLength = headerLength;
    }

    public long getHeaderType() {
        return headerType;
    }

    public void setHeaderType(long headerType) {
        this.headerType = headerType;
    }

    public long getHeaderReserved() {
        return headerReserved;
    }

    public void setHeaderReserved(long headerReserved) {
        this.headerReserved = headerReserved;
    }

    public String getBodyDataArea() {
        return bodyDataArea;
    }

    public void setBodyDataArea(String bodyDataArea) {
        this.bodyDataArea = bodyDataArea;
    }
}
